package LeetCodeHot100TopInterview;

import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;

public class Q049_GroupAnagrams {

    //字母异位数分组
    //没做过谁能想到排序啊
    public List<List<String>> groupAnagrams(String[] strs) {

        if (strs == null || strs.length == 0){
            return new LinkedList<>();
        }

        HashMap<String, List<String>> map = new HashMap<>();
        for (String str : strs) {
            char[] strArr = str.toCharArray();
            Arrays.sort(strArr);
            String strSorted = Arrays.toString(strArr);
            if (map.containsKey(strSorted)){
                map.get(strSorted).add(str);
            }else {
                List<String> tmp = new LinkedList<>();
                tmp.add(str);
                map.put(strSorted,tmp);
            }
        }
        //分组完毕
        return new LinkedList<>(map.values());
    }

}
